超百万个单细胞的数据分析解决方案
前面我们提到了:超百万个单细胞的数据集越来越多了,但是绝大部分人的电脑或者普通服务器会遇到的数据分析困难是内存不足,当然了,一味的增加内存到1T甚至几个T,倒也不是很贵。虽然解决了内存不足的问题,但是另外一个弊端是CPU的分析速度问题,超百万个单细胞的数据处理的每个步骤,降维聚类分群,都是耗时十几分钟甚至几个小时。这个时候就迫切需要一个神级大家解决方案,就是从CPU转为GPU。
位于美国加利福利亚的NVIDIA团队最近在预印本分享了他们的GPU一体化单细胞数据分析解决方案,标题是:《Accelerating single-cell genomic analysis with GPUs》,它们提出来的RAPIDS主要是3个模块:
cuDF for dataframe manipulation, cuML for machine learning algorithms, cuGraph for accelerated graph analytics.
RAPIDS is an open-source suite of Python libraries that use GPU computing to accelerate data science workflows.
如下所示的降维聚类分群流程:
输入数据就是一个常规的表达量矩阵,列是细胞,可以有几百万个细胞,行是基因,通常是三五万个基因。它们会使用常规的Scanpy/AnnData格式存储,跟大家在CPU模式下的数据分析一模一样的,所以大家可以无缝切换到GPU摸索的单细胞数据分析。
在10x的官方网站有一个超百万个单细胞的数据集 :https://support.10xgenomics.com/single-cell-gene-expression/datasets/1.3.0/1M_neurons,简单的注册就可以下载,同样的降维聚类分群后很容易区分处理 major brain cell types (excitatory neurons, inhibitory neurons, astrocytes, oligodendrocytes, microglia, and pericytes) ,位于美国加利福利亚的NVIDIA团队就使用不同型号的GPU去跟传统的CPU进行对比:
可以看到,本来应该是4小时的时间消耗,因为使用了 NVIDIA DGX-1, or 1-8 V100 GPUs on a DGX-1. 耗时可以缩短到几分钟。
数据分析的代码是公开的,在:https://github.com/clara-parabricks/rapids-single-cell-examples ,而且数据也是公开可以获取的,所以理论上大家可以马上复现出来。但是,首先你需要有一个GPU哦!
这个时候的,降维聚类分群步骤仍然是一样的,参考前面的例子:人人都能学会的单细胞聚类分群注释 ,这样的单细胞基础认知,也可以看基础10讲: